home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmiSoft / Disk / moni / FileX-src.lha / FileX-src / FileXARexx_rxcl.c < prev    next >
C/C++ Source or Header  |  1994-05-06  |  12KB  |  114 lines

  1. #include <exec/types.h>
  2. #include <dos/dos.h>
  3. #include <rexx/storage.h>
  4.  
  5. #include "filexARexx.h"
  6.  
  7. #define RESINDEX(stype) (((long) &((struct stype *)0)->res) / sizeof(long))
  8.  
  9. char    RexxPortBaseName[80] = "FILEX";
  10. char    *rexx_extension = "FILEX";
  11.  
  12. struct rxs_command rxs_commandlist[] =
  13. {
  14. #ifdef AREXX
  15.     { "ACTIVATE", NULL, NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_activate, ARB_CF_ENABLED ,sizeof(struct rxd_activate)},
  16.     { "ACTIVATEVIEW", "VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_activateview, ARB_CF_ENABLED ,sizeof(struct rxd_activateview)},
  17.     { "ACTIVATEWINDOW", "WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_activatewindow, ARB_CF_ENABLED ,sizeof(struct rxd_activatewindow)},
  18.     { "ADJUSTWINDOWSIZE", "WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_adjustwindowsize, ARB_CF_ENABLED ,sizeof(struct rxd_adjustwindowsize)},
  19.     { "APPEND","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_append, ARB_CF_ENABLED ,sizeof(struct rxd_append)},
  20.     { "ASSIGNCOMMAND", "NUMBER/K/N,NAME/K", 0,0,(void(*)(struct RexxHost*,void **,long)) rx_assigncommand, ARB_CF_ENABLED ,sizeof(struct rxd_assigncommand)},
  21.     { "CHANGEWINDOW", "LEFTEDGE/K/N,TOPEDGE/K/N,HEIGHT/K/N,WIDTH/K/N,WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_changewindow, ARB_CF_ENABLED ,sizeof(struct rxd_changewindow)},
  22.     { "CLEAR", "FORCE/S,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_clear, ARB_CF_ENABLED ,sizeof(struct rxd_clear)},
  23.     { "CLOSE", "VIEW/S,WINDOW/S,FORCE/S,VIEWID=VID=WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_close, ARB_CF_ENABLED ,sizeof(struct rxd_close)},
  24.     { "COLUMN", "DELTA/N/A,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_column, ARB_CF_ENABLED ,sizeof(struct rxd_column)},
  25.     { "COPY","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_copy, ARB_CF_ENABLED ,sizeof(struct rxd_copy)},
  26.     { "CURSOR", "UP/S,DOWN/S,LEFT/S,RIGHT/S,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_cursor, ARB_CF_ENABLED ,sizeof(struct rxd_cursor)},
  27.     { "CUT","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_cut, ARB_CF_ENABLED ,sizeof(struct rxd_cut)},
  28.     { "DEACTIVATE", NULL, NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_deactivate, ARB_CF_ENABLED ,sizeof(struct rxd_deactivate)},
  29.     { "EXECUTECOMMAND", "NUMBER/K/N,NAME/K", 0, 0,(void(*)(struct RexxHost*,void **,long)) rx_executecommand, ARB_CF_ENABLED ,sizeof(struct rxd_executecommand)},
  30.     { "EXPANDVIEW", "VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_expandview, ARB_CF_ENABLED ,sizeof(struct rxd_expandview)},
  31.     { "FAULT", "NUMBER/N/A", "DESCRIPTION", RESINDEX(rxd_fault),(void(*)(struct RexxHost*,void **,long)) rx_fault, ARB_CF_ENABLED|ARB_CF_CALLFREE ,sizeof(struct rxd_fault)},
  32.     { "FILL","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_fill, ARB_CF_ENABLED ,sizeof(struct rxd_fill)},
  33.     { "FIND", "PROMPT/S,HEX/S,BACKWARDS/S,QUIET/S,TEXT/F,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_find, ARB_CF_ENABLED ,sizeof(struct rxd_find)},
  34.     { "FINDCHANGE", "PROMPT/S,HEX/S,ALL/S,BACKWARDS/S,QUIET/S,FIND,CHANGE,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_findchange, ARB_CF_ENABLED ,sizeof(struct rxd_findchange)},
  35.     { "FINDNEXT", "BACKWARDS/S,QUIET/S,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_findnext, ARB_CF_ENABLED ,sizeof(struct rxd_findnext)},
  36.     { "FONT", "NAME/A,SIZE/N/A,WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_font, ARB_CF_ENABLED ,sizeof(struct rxd_font)},
  37.     { "GETATTR", "OBJECT/A,FIELD,ID/K/N,STEM/K,VAR/K",0,0,(void(*)(struct RexxHost*,void **,long)) rx_getattr, ARB_CF_ENABLED ,sizeof(struct rxd_getattr)},
  38.     { "GETBLOCK", NULL, "BLOCK", RESINDEX(rxd_getblock),(void(*)(struct RexxHost*,void **,long)) rx_getblock, ARB_CF_ENABLED|ARB_CF_CALLFREE ,sizeof(struct rxd_getblock)},
  39.     { "GETBYTES", "POS/N/A,NUMBER/N/A,FILEID=FID/K/N", "HEXSTRING", RESINDEX(rxd_getbytes),(void(*)(struct RexxHost*,void **,long)) rx_getbytes, ARB_CF_ENABLED|ARB_CF_CALLFREE ,sizeof(struct rxd_getbytes)},
  40.     { "GOTOBOOKMARK", "NUMBER/N,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_gotobookmark, ARB_CF_ENABLED ,sizeof(struct rxd_gotobookmark)},
  41.     { "GOTOBYTE", "POS/N/A,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_gotobyte, ARB_CF_ENABLED ,sizeof(struct rxd_gotobyte)},
  42.     { "GOTOCOLUMN", "COLUMN/N/A,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_gotocolumn, ARB_CF_ENABLED ,sizeof(struct rxd_gotocolumn)},
  43.     { "GOTOLINE", "LINE/N/A,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_gotoline, ARB_CF_ENABLED ,sizeof(struct rxd_gotoline)},
  44.     { "GRABMEMORY","START/N/A,END/N/A,FORCE/S,VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_grabmemory, ARB_CF_ENABLED ,sizeof(struct rxd_grabmemory)},
  45.     { "GROWVIEW", "VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_growview, ARB_CF_ENABLED ,sizeof(struct rxd_growview)},
  46.     { "HELP", "COMMAND", "COMMANDDESC,COMMANDLIST/M", RESINDEX(rxd_help),(void(*)(struct RexxHost*,void **,long)) rx_help, ARB_CF_ENABLED|ARB_CF_CALLFREE ,sizeof(struct rxd_help)},
  47.     { "INSERT","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_insert, ARB_CF_ENABLED ,sizeof(struct rxd_insert)},
  48.     { "LINE", "DELTA/N/A,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_line, ARB_CF_ENABLED ,sizeof(struct rxd_line)},
  49.     { "LOADBLOCK", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_loadblock, ARB_CF_ENABLED ,sizeof(struct rxd_loadblock)},
  50.     { "LOADCOMMANDS", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_loadcommands, ARB_CF_ENABLED ,sizeof(struct rxd_loadcommands)},
  51.     { "LOADDISPLAYTYP", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_loaddisplaytyp, ARB_CF_ENABLED ,sizeof(struct rxd_loaddisplaytyp)},
  52.     { "LOADSETTINGS", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_loadsettings, ARB_CF_ENABLED ,sizeof(struct rxd_loadsettings)},
  53.     { "LOCKGUI", NULL, NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_lockgui, ARB_CF_ENABLED ,sizeof(struct rxd_lockgui)},
  54.     { "MOVEWINDOW", "LEFTEDGE/N,TOPEDGE/N,WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_movewindow, ARB_CF_ENABLED ,sizeof(struct rxd_movewindow)},
  55.     { "NEW", "VIEW/S,WINDOW/S", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_new, ARB_CF_ENABLED ,sizeof(struct rxd_new)},
  56.     { "NEXT", "VIEW/S,WINDOW/S", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_next, ARB_CF_ENABLED ,sizeof(struct rxd_next)},
  57.     { "NOP", NULL, NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_nop, ARB_CF_ENABLED ,sizeof(struct rxd_nop)},
  58.     { "OPEN", "FILENAME,FORCE/S,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_open, ARB_CF_ENABLED ,sizeof(struct rxd_open)},
  59.     { "PASTE","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_paste, ARB_CF_ENABLED ,sizeof(struct rxd_paste)},
  60.     { "POSITION", "SOF/S,EOF/S,SOL/S,EOL/S,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_position, ARB_CF_ENABLED ,sizeof(struct rxd_position)},
  61.     { "PREVIOUS", "VIEW/S,WINDOW/S", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_previous, ARB_CF_ENABLED ,sizeof(struct rxd_previous)},
  62.     { "PRINT", "FILEID=FID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_print, ARB_CF_ENABLED ,sizeof(struct rxd_print)},
  63.     { "PRINTBLOCK",NULL,NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_printblock, ARB_CF_ENABLED ,sizeof(struct rxd_printblock)},
  64.     { "QUIT", "FORCE/S", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_quit, ARB_CF_ENABLED ,sizeof(struct rxd_quit)},
  65.     { "REDO", "NUMBER/N,FILEID=FID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_redo, ARB_CF_ENABLED ,sizeof(struct rxd_redo)},
  66.     { "REQUESTFILE", "TITLE/K,PATH/K,FILE/K,PATTERN/K", "FILENAME", RESINDEX(rxd_requestfile),(void(*)(struct RexxHost*,void **,long)) rx_requestfile, ARB_CF_ENABLED|ARB_CF_CALLINIT|ARB_CF_CALLFREE ,sizeof(struct rxd_requestfile)},
  67.     { "REQUESTNOTIFY", "PROMPT", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_requestnotify, ARB_CF_ENABLED ,sizeof(struct rxd_requestnotify)},
  68.     { "REQUESTRESPONSE", "BUTTONS/K,PROMPT/K", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_requestresponse, ARB_CF_ENABLED ,sizeof(struct rxd_requestresponse)},
  69.     { "REQUESTSTRING", "PROMPT/K,DEFAULT/K", "STRING", RESINDEX(rxd_requeststring),(void(*)(struct RexxHost*,void **,long)) rx_requeststring, ARB_CF_ENABLED|ARB_CF_CALLINIT|ARB_CF_CALLFREE ,sizeof(struct rxd_requeststring)},
  70.     { "RX", "CONSOLE/S,ASYNC/S,COMMAND/F", "RC/N,RESULT", RESINDEX(rxd_rx),(void(*)(struct RexxHost*,void **,long)) rx_rx, ARB_CF_ENABLED|ARB_CF_OWNALLOC|ARB_CF_CALLFREE|ARB_CF_CALLINIT,sizeof(struct rxd_rx)},
  71.     { "SAVE", "FILEID=FID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_save, ARB_CF_ENABLED ,sizeof(struct rxd_save)},
  72.     { "SAVEAS", "NAME,FILEID=FID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_saveas, ARB_CF_ENABLED ,sizeof(struct rxd_saveas)},
  73.     { "SAVEBLOCK", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_saveblock, ARB_CF_ENABLED ,sizeof(struct rxd_saveblock)},
  74.     { "SAVECOMMANDS", 0, NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_savecommands, ARB_CF_ENABLED ,sizeof(struct rxd_savecommands)},
  75.     { "SAVECOMMANDSAS", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_savecommandsas, ARB_CF_ENABLED ,sizeof(struct rxd_savecommandsas)},
  76.     { "SAVESETTINGS", 0, NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_savesettings, ARB_CF_ENABLED ,sizeof(struct rxd_savesettings)},
  77.     { "SAVESETTINGSAS", "NAME", NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_savesettingsas, ARB_CF_ENABLED ,sizeof(struct rxd_savesettingsas)},
  78.     { "SETATTR", "OBJECT/A,FIELD,ID/K/N,FROMSTEM/K,FROMVAR/K", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_setattr, ARB_CF_ENABLED ,sizeof(struct rxd_setattr)},
  79.     { "SETBLOCK", "BLOCK/A", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_setblock, ARB_CF_ENABLED ,sizeof(struct rxd_setblock)},
  80.     { "SETBLOCKMARK","VIEWID=VID/K/N",NULL,0,(void(*)(struct RexxHost*,void **,long)) rx_setblockmark, ARB_CF_ENABLED ,sizeof(struct rxd_setblockmark)},
  81.     { "SETBOOKMARK", "NUMBER/N,VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_setbookmark, ARB_CF_ENABLED ,sizeof(struct rxd_setbookmark)},
  82.     { "SETBYTES", "POS/N/A,HEXSTRING/A,FILEID=FID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_setbytes, ARB_CF_ENABLED ,sizeof(struct rxd_setbytes)},
  83.     { "SETSCREEN", "NAME/K,OWN/S", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_setscreen, ARB_CF_ENABLED ,sizeof(struct rxd_setscreen)},
  84.     { "SHRINKVIEW", "VIEWID=VID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_shrinkview, ARB_CF_ENABLED ,sizeof(struct rxd_shrinkview)},
  85.     { "SIZEWINDOW", "HEIGHT/N,WIDTH/N,WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_sizewindow, ARB_CF_ENABLED ,sizeof(struct rxd_sizewindow)},
  86.     { "SPLIT", "VIEW/S,WINDOW/S", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_split, ARB_CF_ENABLED ,sizeof(struct rxd_split)},
  87.     { "UNDO", "NUMBER/N,FILEID=FID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_undo, ARB_CF_ENABLED ,sizeof(struct rxd_undo)},
  88.     { "UNLOCKGUI", NULL, NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_unlockgui, ARB_CF_ENABLED ,sizeof(struct rxd_unlockgui)},
  89.     { "WINDOWTOBACK", "WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_windowtoback, ARB_CF_ENABLED ,sizeof(struct rxd_windowtoback)},
  90.     { "WINDOWTOFRONT", "WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_windowtofront, ARB_CF_ENABLED ,sizeof(struct rxd_windowtofront)},
  91.     { "ZIPWINDOW", "WINDOWID=WID/K/N", NULL, 0,(void(*)(struct RexxHost*,void **,long)) rx_zipwindow, ARB_CF_ENABLED ,sizeof(struct rxd_zipwindow)},
  92. #endif
  93.     { NULL, NULL, NULL, NULL, NULL }
  94. };
  95.  
  96. int        command_cnt = 65 + 12;
  97.  
  98. /* Neue Kommandos:
  99.  * NEW VIEW/WINDOW
  100.  * SPLIT VIEW/WINDOW
  101.  * NEXT VIEW/WINDOW
  102.  * PREVIOUS VIEW/WINDOW
  103.  * CLOSE VIEW/WINDOW
  104.  * EXPANDVIEW
  105.  * GROWIEW
  106.  * SHRINKVIEW
  107.  
  108.  * ADJUSTWINDOWSIZE ID
  109.  * ACTIVATEVIEW ID
  110.  
  111.  * LOCKGUI
  112.  * UNLOCKGUI
  113.  */
  114.